//
//
//public class Solution {
//    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
//        if (headA == null || headB == null) return null;
//        int sizeA = 0;
//        int sizeB = 0;
//        ListNode curA = headA;
//        ListNode curB = headB;
//        while (curA != null) {
//            sizeA++;
//            curA = curA.next;
//        }
//        while (curB != null) {
//            sizeB++;
//            curB = curB.next;
//        }
//        ListNode l = headA, s = headB;
//        int size = sizeA - sizeB;
//        if (size < 0) {
//            size = sizeB - sizeA;
//            l = headB;
//            s = headA;
//        }
//        while (size != 0) {
//            l = l.next;
//            size--;
//        }
//        while (l != s) {
//            l = l.next;
//            s = s.next;
//        }
//        return l;
//    }
//}